package org.example.user.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;

import java.lang.Long;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;

/**
 * 用户实名认证信息表 实体类。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
@Table(value = "sys_user_realname_auth")
public class SysUserRealnameAuthEntity {

    /**
     * 主键ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 关联用户ID
     */
    @Column(value = "user_id")
    private Long userId;

    /**
     * 真实姓名
     */
    @Column(value = "real_name")
    private String realName;

    /**
     * 加密存储的身份证号
     */
    @Column(value = "id_card")
    private String idCard;

    /**
     * 身份证正面照URL
     */
    @Column(value = "id_card_front")
    private String idCardFront;

    /**
     * 身份证反面照URL
     */
    @Column(value = "id_card_back")
    private String idCardBack;

    /**
     * 认证状态：0=未认证,1=审核中,2=已认证,3=认证失败
     */
    @Column(value = "auth_status")
    private Integer authStatus;

    /**
     * 审核失败原因
     */
    @Column(value = "reject_reason")
    private String rejectReason;

    /**
     * 创建时间
     */
    @Column(value = "created_at")
    private Date createdAt;

    /**
     * 更新时间
     */
    @Column(value = "updated_at")
    private Date updatedAt;

    /**
     * 认证通过时间
     */
    @Column(value = "verified_at")
    private Date verifiedAt;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getIdCardFront() {
        return idCardFront;
    }

    public void setIdCardFront(String idCardFront) {
        this.idCardFront = idCardFront;
    }

    public String getIdCardBack() {
        return idCardBack;
    }

    public void setIdCardBack(String idCardBack) {
        this.idCardBack = idCardBack;
    }

    public Integer getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(Integer authStatus) {
        this.authStatus = authStatus;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Date getVerifiedAt() {
        return verifiedAt;
    }

    public void setVerifiedAt(Date verifiedAt) {
        this.verifiedAt = verifiedAt;
    }
}
